﻿    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:security="clr-namespace:Sebarf.Security.Authentication;assembly=Sebarf.Security.Authentication"
      xmlns:securityauthorization="clr-namespace:Sebarf.Security.Authorization;assembly=Sebarf.Security.Authorization"                    
      xmlns:processChain="clr-namespace:Sebarf.ProcessChains;assembly=Sebarf.ProcessChains"
      xmlns:serverServices="clr-namespace:Sebastof.Server.Services.Impl;assembly=Sebastof.Server.Services.Impl"
      xmlns:services="clr-namespace:Sebastof.Services.Impl;assembly=Sebastof.Services.Impl"
      xmlns:process="clr-namespace:Sebastof.ProcessChains.ProcessSteps;assembly=Sebastof.Serialisation"
      xmlns:session="clr-namespace:Sebarf.Session.Services;assembly=Sebarf.Session.Services"
      xmlns:utils="clr-namespace:Sebarf.Utils.Interfaces;assembly=Sebarf.Utils"
      xmlns:sebastof="clr-namespace:Sebastof.Core.Services;assembly=Sebastof.Core.Services"
      xmlns:profiles="clr-namespace:Sebarf.Profiles.WPF;assembly=Sebarf.Profiles.WPF">


        <profiles:ProfileConfiguration x:Key="Profile"
                                      ProfileName="SecurityBasedCacheBasedLazyLoadProfile_Server">
            <profiles:ProfileConfiguration.Services>
                <services:ChangeApplierService />
                <services:ObjectIdentifierLocatorService />
                <services:ObjectMappingLocatorRegisterService/>
                <!--<services:ObjectTrackerService/>-->
                <services:ObjectTreeHelperService/>
                <serverServices:LazyLoadingSerializationDataHandlingStrategyService EnableSecurity="True"/>
                <services:MetadataLocatorRegisterService Id="LazyLoading.Server" />
                <!--<services:ObjectTrackerMetadataService />-->
                <!--<services:ObservableCollectionCreatorService/>-->
                <utils:ObjectHierarchyFlattenerService/>
                <security:AuthenticationManagementService>
                    <security:AuthenticationManagementService.Authenticators>
                        <security:UsernamePasswordAuthenticator>
                            <security:UsernamePasswordAuthenticator.Users>
                                <security:User Id="Gfeller" PasswordMd5Hash="0b+TKZ3hto5tOCyJO/EhXw=="/>
                            </security:UsernamePasswordAuthenticator.Users>
                        </security:UsernamePasswordAuthenticator>
                    </security:AuthenticationManagementService.Authenticators>
                </security:AuthenticationManagementService>
                <securityauthorization:AuthorizationService  DefaultPolicy="AllowEverthingOnDefault">
                    <securityauthorization:AuthorizationService.AccessRules>
                        <securityauthorization:ReadDataFieldAccessRule AccessMode="DenyAccess" FieldName="Price" UserId="Gfeller"/>
                    </securityauthorization:AuthorizationService.AccessRules>
                </securityauthorization:AuthorizationService>
                <processChain:ProcessChainManagerService/>
                <session:SessionTimeoutHandlerService/>
                <sebastof:ServerTransmissionOfObjectService/>
            </profiles:ProfileConfiguration.Services>
            <profiles:ProfileConfiguration.Processes>
                <process:SerializeObjectCollection>
                    <process:SerializeCollection>
                        <process:DecorateCollection/>
                    </process:SerializeCollection>
                </process:SerializeObjectCollection>
                <process:SerializeObjectItem>
                    <process:DecorateObject/>
                </process:SerializeObjectItem>
            </profiles:ProfileConfiguration.Processes>
        </profiles:ProfileConfiguration>

    </ResourceDictionary>
